﻿#define  _CRT_SECURE_NO_WARNINGS 1

//1.KiKi想获得某年某月有多少天，请帮他编程实现。输入年份和月份，计算这一年这个月有多少天。
//#include<stdio.h>
//int get_day(int y, int m)
//{
//	int day = 0;
//	switch (m)
//	{
//	case 1:
//	case 3:
//	case 5:
//	case 7:
//	case 8:
//	case 10:
//	case 12:
//		day = 31;
//		break;
//	case 4:
//	case 6:
//	case 9:
//	case 11:
//		day=30;
//		break;
//	}
//	if (m == 2)
//	{
//		if ((y % 4 == 0 && (y % 100 != 0)) || (y % 400 == 0))
//			day= 28;
//		else
//			day=29;
//	}
//	return day;
//}
//int main()
//{
//	int year = 0;
//	int month = 0;
//	scanf("%d %d", &year, &month);
//	int ret = get_day(year, month);
//	printf("%d\n", ret);
//	return 0;
//}

//描述
//小乐乐上课需要走n阶台阶，因为他腿比较长，所以每次可以选择走一阶或者走两阶，那么他一共有多少种走法？
//
//输入描述：
//输入包含一个整数n(1 ≤ n ≤ 30)
//输出描述：
//输出一个整数，即小乐乐可以走的方法数。

//#include<stdio.h>
//int fib(int n)
//{
//	if (n <= 2)
//		return n;
//	else
//		return fib(n - 1) + fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fib(n);
//	printf("%d", ret);
//	return 0;
//}
//交换两个变量（不创建临时变量）
//
//作业内容
//不允许创建临时变量，交换两个整数的内容
#include<stdio.h>
int main()
{
	int a = 3;
	int b = 5;
	printf("%d %d\n", a, b);
	a = a + b;
	b = a - b;
	a = a - b;
	printf("%d %d", a, b);
	return 0;
}

//#include <stdio.h>
//int main()
//{
//	int a, b, c;
//	a = 5;
//	c = ++a;
//	b = ++c, c++, ++a, a++;
//	b += a++ + c;
//	printf("a = %d b = %d c = %d\n:", a, b, c);
//	return 0;
//}

//输入一个整数 n ，输出该数32位二进制表示中1的个数。其中负数用补码表示。
//
//数据范围： - 2 ^ {31} <= n <= 2 ^ {31} - 1−2
//31
//<= n <= 2
//31
//−1
//即范围为 : -2147483648 <= n <= 2147483647−2147483648 <= n <= 2147483647
//#include<stdio.h>
//int NumberOf1(int n)
//{
//	int i = 0;
//	int count = 0;
//	for (i = 0; i < 32; i++)
//	{
//		if (((n >> i)&1) == 1)
//		{
//			count++;
//		}
//	}
//	return count;
//}
//#include<stdio.h>
//int NumberOf1(int n)
//{
//	int count = 0;
//	if (n % 2 == 1)
//	{
//		count++;
//		n = n / 2;
//	}
//	return count;
//}
//
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = NumberOf1(n);
//	printf("%d\n", ret);
//	return 0;
//}
//
//


//打印整数二进制的奇数位和偶数位
//#include<stdio.h>
//void print(int n)
//{
//	int i = 0;
//	printf("奇数位：");
//	for (i = 30; i >= 1; i=i-2)
//	{
//		printf("%d", (n >> i) & 1);
//	}
//	printf("\n");
//	printf("偶数位：");
//	for (i = 31; i >= 1;i= i - 2)
//	{
//		printf("%d", (n >> i) & 1);
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	print(n);
//	return 0;
//}